define(['./_module'], function (services) {
	'use strict';
	
    services.factory('DisciplinaService', ['$http',function ($http) {
    	return {
    		init: function() { 
    			return {
	    			id: null,
	    			descricao: '',
	    			valor: null,
	    			instrumento: null
    			};
    		},
    		findById: function(id) {
    			return $http.get('/escola-imaa/api/disciplina/get/'+id).success(function(data, status) {
    				console.log("Retornando disciplina '" + data.nome + "'.");
    			});
    		},
    		findByName: function(descricao) {
    			return $http.get('/escola-imaa/api/disciplina/search?descricao='+descricao).success(function(data, status) {
    				console.log("Retornando disciplinas que contenham '" +descricao + "' na descri��o");
    			});
    		},
    		findByDto: function(pesquisaDto) {
    			return $http.post('/escola-imaa/api/disciplina/advancedSearch', pesquisaDto).success(function(data, status) {
    				console.log("Retornando disciplinas que contenham '" + descricao + "' no descri��o");
    			});
    		},
    		findAll: function() {
    			return $http.get('/escola-imaa/api/disciplina/list').success(function(data, status, headers, config) {
    				console.log("Lista de disciplinas carregada com sucesso.");
    			});
    		},
    		
    		save: function(disciplina) {
    			return $http.post('/escola-imaa/api/disciplina/save', disciplina);	
    		},
    		remove: function(disciplina) {
    			return $http.get('/escola-imaa/api/disciplina/remove/'+disciplina.id).success(function(data) {
    				console.log("Disciplina '" + disciplina.descricao + "' removido com sucesso. ID: " + disciplina.id);
    			});
    		},
    	};
    }]);
});